Many businesses (and other organizations) use software applications (and/or suites of such applications) to organize their business affairs, track business performance, and/or the like. Such applications (referred to herein as “enterprise applications”) are often quite complex, relying on numerous database tables to store and manage data for virtually every aspect of an organization's business. Merely by way of example, enterprise applications can include supply chain management (“SCM”) applications that manage raw materials, work-in-process and/or finished products, coordinate with suppliers, and/or the like; customer relations management (“CRM”) applications that are used to track, store and/or manage customer information; financial applications that track and/or analyze the financial performance of the organization; human resources applications that provide management of the human resources functions of the organization; and/or the like. In some cases, these enterprise applications are standalone applications; in other cases, a single enterprise application (and/or suite of applications) might provide some or all such functionality. One type of enterprise application is referred to enterprise resource planning (“ERP”) software. Examples of enterprise applications include, without limitation, JD Edwards Enterpriseone™, PeopleSoft Enterprise™ applications, and the Oracle eBusiness Suite™, all available from Oracle Corporation.
For a variety of reasons, a modern business (or other organization) may be organized into several business units. (A “business unit,” as that term is used herein, means any group within a business that is viewed as a discrete entity for one or more purposes, such as for operational/functional distinctions, for financial responsibility, for managerial reporting, for legal reporting, and/or the like.) In an aspect, especially from the perspective of an enterprise application, a business unit might perform a variety of business functions (which can be represented by functions within the enterprise application, such as a payroll function, an accounts payable function, a sales order function, etc.).
As enterprises have grown more accustomed to managing their affairs with enterprise applications, process efficiencies and greater internal controls have lead many large enterprises to establish shared service centers to support a number of internal clients. For example, the payroll function of a particular business unit might provide such services not only for that business unit, but for other units within the enterprise as well. Enterprise applications, however, generally have not been designed to be used by one business unit of an enterprise while servicing many others. In many cases, the enterprise application could not be deployed in a manner that would support such a configuration.
Moreover, even if the software could be deployed to support multiple internal clients from a single business unit, the setup of each business unit was independent. Enterprise applications failed to provide any expression of what parts of the business perform what functions on behalf whom. Thus, even where was possible to associate a user with a number of clients (e.g., other business units), the business unit for which the user worked was invisible in the assignment. This lack of structure also has made it difficult or impossible to implement or document administrative controls (such as service level agreements, SAS 70 internal control audits, and the like).
Hence, there is a need for more robust tools for identifying relationships between the various components of organizations, and/or for configuring enterprise applications to account for these relationships.